package top.lyjwn.todo.template;

import java.util.ArrayList;
import java.util.List;

public class R {


    /**
     * 是否成功完成
     */
    protected boolean done;
    /**
     * 状态代码
     */
    protected Integer code;
    /**
     * 返回信息
     */
    protected String msg;


    public R() {
    }

    public R(boolean done) {
        this.done = done;
    }

    public R(boolean done, Integer code, String msg) {
        this.done = done;
        this.code = code;
        this.msg = msg;
    }

    public static R init() {
        return new R();
    }


    public static R init(boolean done) {
        return new R(done);
    }

    public static R init(boolean done, Integer code, String msg) {
        return new R(done, code, msg);
    }


    /**
     * 未登录
     */
    public R notLogin() {
        setDone(false);
        setCode(410);
        setMsg("not login");
        return this;
    }

    /**
     * 成功，默认状态码
     *
     * @param msg
     */
    public R ok(String msg) {
        setDone(true);
        setCode(200);
        setMsg(msg);
        return this;
    }

    /**
     * 失败
     *
     * @param code
     * @param msg
     * @return
     */
    public R error(Integer code, String msg) {
        setDone(false);
        setCode(code);
        setMsg(msg);
        return this;
    }

    public boolean isDone() {
        return done;
    }

    public R setDone(boolean done) {
        this.done = done;
        return this;
    }

    public Integer getCode() {
        return code;
    }

    public R setCode(Integer code) {
        this.code = code;
        return this;
    }

    public String getMsg() {
        return msg;
    }

    public R setMsg(String msg) {
        this.msg = msg;
        return this;
    }


}
